home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / text / edit / GED_Hexedit.lha / GED_Hexedit / hex / english / insertbyte.ged < prev    next >
Text File  |  1998-01-02  |  4KB  |  2 lines

  1. /* Optimized with RexxOpt 1.8 */
  2. OPTIONS RESULTS;if (LEFT(ADDRESS(),6) ~="GOLDED") then;address 'GOLDED.1';'LOCK CURRENT RELEASE=4';if (RC ~=0) then;exit;OPTIONS FAILAT 6;SIGNAL ON SYNTAX;'REQUEST Body="Do you really want to insert a byte?|Program files cannot be used anymore!" Title="Attention" Button="OK|!Cancel"';if Result=0 then;do;'UNLOCK';exit;end;'QUERY Name=Column Var=Spalte';'QUERY Name=Code Var=Zeichen';if Spalte<11|Spalte>45|Zeichen=32 then;do;'REQUEST Problem="The cursor must be in the hex area at a byte"';'UNLOCK';exit;end;'SET Name=Insert Value=False';'QUERY Name=Line Var=Zeile';'QUERY Name=Lines Var=GesZeilen';'QUERY Name=Buffer Var=Inhalt';'GOTO Column=1';Zeile1=compress(substr(Inhalt,11,35));Zeile2=substr(Inhalt,48);Start=((Spalte-11)-((Spalte-11)%9))%2;Zeile1x=right(Zeile1,2);Zeile2x=right(Zeile2,1);if length(Zeile2)=16 then;do;if Start>0 then;do;Zeile1=left(Zeile1,2*Start)||"00"||substr(Zeile1,2*Start+1,30-2*Start);Zeile2=left(Zeile2,Start)||"·"||substr(Zeile2,Start+1,15-Start);end;else;do;Zeile1="00"||left(Zeile1,30);Zeile2="·"||left(Zeile2,15);end;Inhalt=overlay(substr(Zeile1,1,8),Inhalt,11);Inhalt=overlay(substr(Zeile1,9,8),Inhalt,20);Inhalt=overlay(substr(Zeile1,17,8),Inhalt,29);Inhalt=overlay(substr(Zeile1,25,8),Inhalt,38);Inhalt=overlay(Zeile2,Inhalt,48);'FIX Var=Inhalt';if Zeile=GesZeilen then;do;'TEXT cr T="'||Inhalt||'"';'DOWN';Addresse= d2x(x2d(left(Inhalt,8))+16);Addresse=reverse(overlay(reverse(Addresse),"00000000",1,8,"0"));Inhalt=Addresse||"  "||Zeile1x||"                                   "||Zeile2x;'FIX Var=Inhalt';'TEXT stay T="'||Inhalt||'"';end;else;do;'TEXT stay T="'||Inhalt||'"';end;if Zeile<GesZeilen-1 then;do;do i=Zeile+1 to GesZeilen-1;'DOWN';'QUERY Name=Buffer Var=Inhalt';Zeile1=compress(substr(Inhalt,11,35));Zeile2=substr(Inhalt,48);Inhalt=overlay(Zeile1x,Inhalt,11);Inhalt=overlay(substr(Zeile1,1,6),Inhalt,13);Inhalt=overlay(substr(Zeile1,7,8),Inhalt,20);Inhalt=overlay(substr(Zeile1,15,8),Inhalt,29);Inhalt=overlay(substr(Zeile1,23,8),Inhalt,38);Inhalt=overlay(Zeile2x,Inhalt,48);Inhalt=overlay(substr(Zeile2,1,15),Inhalt,49);'FIX Var=Inhalt';'TEXT stay T="'||Inhalt||'"';Zeile1x=right(Zeile1,2);Zeile2x=right(Zeile2,1);end;end;if Zeile<GesZeilen then;do;'DOWN';'QUERY Name=Buffer Var=Inhalt';Zeile1=compress(substr(Inhalt,11,35));Zeile2=substr(Inhalt,48);if length(Zeile2)=16 then;do;Inhalt=overlay(Zeile1x,Inhalt,11);Inhalt=overlay(substr(Zeile1,1,6),Inhalt,13);Inhalt=overlay(substr(Zeile1,7,8),Inhalt,20);Inhalt=overlay(substr(Zeile1,15,8),Inhalt,29);Inhalt=overlay(substr(Zeile1,23,8),Inhalt,38);Inhalt=overlay(Zeile2x,Inhalt,48);Inhalt=overlay(substr(Zeile2,1,15),Inhalt,49);'FIX Var=Inhalt';'TEXT cr T="'||Inhalt||'"';Zeile1x=right(Zeile1,2);Zeile2x=right(Zeile2,1);'DOWN';Addresse= d2x(x2d(left(Inhalt,8))+16);Addresse=reverse(overlay(reverse(Addresse),"00000000",1,8,"0"));Inhalt=Addresse||"  "||Zeile1x||"                                   "||Zeile2x;'FIX Var=Inhalt';'TEXT stay T="'||Inhalt||'"';end;else;do;Inhalt=overlay(Zeile1x,Inhalt,11);Inhalt=overlay(substr(Zeile1,1,6),Inhalt,13);Inhalt=overlay(substr(Zeile1,7,8),Inhalt,20);Inhalt=overlay(substr(Zeile1,15,8),Inhalt,29);Inhalt=overlay(substr(Zeile1,23,8),Inhalt,38);Inhalt=overlay(Zeile2x,Inhalt,48);Inhalt=overlay(Zeile2,Inhalt,49);'FIX Var=Inhalt';'TEXT stay T="'||Inhalt||'"';end;end;end;else;do;if Start>0 then;do;Zeile1=left(Zeile1,2*Start)||"00"||substr(Zeile1,2*Start+1,length(Zeile1)-2*Start);Zeile2=left(Zeile2,Start)||"·"||substr(Zeile2,Start+1,length(Zeile2)-Start);end;else;do;Zeile1="00"||Zeile1;Zeile2="·"||Zeile2;end;Inhalt=overlay(substr(Zeile1,1,8),Inhalt,11);Inhalt=overlay(substr(Zeile1,9,8),Inhalt,20);Inhalt=overlay(substr(Zeile1,17,8),Inhalt,29);Inhalt=overlay(substr(Zeile1,25,8),Inhalt,38);Inhalt=overlay(Zeile2,Inhalt,48);'FIX Var=Inhalt';'TEXT stay T="'||Inhalt||'"';end;'GOTO Line='||Zeile||' Column='||Spalte;'UNLOCK';exit;SYNTAX:;SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-(";'UNLOCK';exit